package com.haole.ecommercepay.refunds.entity.apply;

import com.haole.ecommercepay.common.BaseParam;
import lombok.Data;

/**
 * @author haole
 */
@Data
public class RefundApplyParam extends BaseParam {

    /**
     * 分账出资的电商平台二级商户，填写微信支付分配的商户号。必填
     */
    private String sub_mchid;
    /**
     * 电商平台在微信公众平台申请服务号对应的APPID，申请商户功能的时候微信支付会配置绑定关系。必填
     */
    private String sp_appid;
    /**
     * 二级商户在微信申请公众号成功后分配的帐号ID，需要电商平台侧配置绑定关系才能传参。非必填
     */
    private String sub_appid;
    /**
     * 原支付交易对应的微信订单号，和商户订单号二选一。选填
     */
    private String transaction_id;
    /**
     * 原支付交易对应的商户订单号，和微信订单号二选一。必填
     */
    private String out_trade_no;
    /**
     * 商户系统内部的退款单号，商户系统内部唯一，只能是数字、大小写字母_-|*@，同一退款单号多次请求只退一笔。选填
     */
    private String out_refund_no;
    /**
     * 若商户传入，会在下发给用户的退款消息中体现退款原因。
     * 注意：若订单退款金额≤1元，且属于部分退款，则不会在退款消息中体现退款原因。非必填
     */
    private String reason;
    /**
     * 订单金额信息。必填
     */
    private RefundAmount amount;
    /**
     * 异步接收微信支付退款结果通知的回调地址，通知url必须为外网可访问的url，不能携带参数。 如果参数中传了notify_url，则商户平台上配置的回调地址将不会生效，优先回调当前传的地址。必填
     */
    private String notify_url;
}
